package cn.csg.iotplatform.module.system.controller.admin.dvdeviceattachment.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 设备中心共库专用附件 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DvDeviceAttachmentRespVO {

    @Schema(description = "附件id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15755")
    @ExcelProperty("附件id")
    private String id;

    @Schema(description = "标识id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13485")
    @ExcelProperty("标识id")
    private String flagId;

    @Schema(description = "证书类型", example = "2")
    @ExcelProperty("证书类型")
    private String certificatesType;

    @Schema(description = "证书等级")
    @ExcelProperty("证书等级")
    private BigDecimal certificatesLevel;

    @Schema(description = "证书编码")
    @ExcelProperty("证书编码")
    private String certificatesCode;

    @Schema(description = "附件id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11521")
    @ExcelProperty("附件id")
    private String attachmentId;

    @Schema(description = "创建人id", requiredMode = Schema.RequiredMode.REQUIRED, example = "971")
    @ExcelProperty("创建人id")
    private String creatorId;

    @Schema(description = "创建人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("创建人名称")
    private String creatorName;

    @Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("文件名称")
    private String fileName;

    @Schema(description = "文件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("文件类型")
    private String fileType;

    @Schema(description = "类别编码")
    @ExcelProperty("类别编码")
    private String jobTypeCode;

    @Schema(description = "附件业务id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22184")
    @ExcelProperty("附件业务id")
    private String objectId;

    @Schema(description = "标识区分", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("标识区分")
    private BigDecimal flag;

    @Schema(description = "局编码")
    @ExcelProperty("局编码")
    private String bureauCode;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDate createTime;

    @Schema(description = "乐观锁版本")
    @ExcelProperty("乐观锁版本")
    private BigDecimal optimisticLockVersion;

    @Schema(description = "省编码")
    @ExcelProperty("省编码")
    private String provinceCode;

    @Schema(description = "数据来源")
    @ExcelProperty("数据来源")
    private String dataFrom;

    @Schema(description = "备注", example = "随便")
    @ExcelProperty("备注")
    private String remark;

}